home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / Me-Mz / MegaHome™ II 3.03.cpt / MegaHome™ II 3.03 / Home / stack_-1.xml < prev    next >
Extensible Markup Language  |  1992-02-21  |  21KB  |  35 lines

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE stack PUBLIC "-//Apple, Inc.//DTD stack V 2.0//EN" "" >
  3. <stack>
  4.     <name>in</name>
  5.     <id>-1</id>
  6.     <cardCount>11</cardCount>
  7.     <cardID>2996</cardID>
  8.     <listID>3211</listID>
  9.     <cantModify><false /></cantModify>
  10.     <cantDelete><true /></cantDelete>
  11.     <cantAbort><false /></cantAbort>
  12.     <cardSize>
  13.         <width>512</width>
  14.         <height>342</height>
  15.     </cardSize>
  16.     <script>on g whereEverif whereEver is empty then exit gif whereEver is "apps" thengo cd "applicationLauncher1" of stack "home"else if whereEver is "safe" thengo cd "Ft. Knox‚Ñ¢ Open" of stack "home"else if whereEver is "home" thengo homeelsebeepanswer"Go to ‚Äú"&whereEver&"‚Äù is not programmed." with "Cancel"end ifend gon l whatAppif whatApp is empty then exit lif whatApp is "pick" thenanswer file "Choose an application to launch." of type "APPL"if it is empty then exit lput it into whatAppend ifif it is "HyperCard" then exit lanswer"Do you want to launch ‚Äú"&whatApp&"‚Äù?" with "Cancel"¬¨or "OK"if it is "OK" then open whatAppend lon z bosssleep(boss is not empty)end zon functionKey theKeyif theKey is not 15 then pass functionKeysleep (the shiftkey is "down")end functionKeyon squeeze whatStackif whatStack is empty then exit squeezeif whatStack is "pick" thenanswer file "Choose a stack to compact." of fileType "STAK"put it into whatStackif whatStack is empty then exit squeezeend ifpush cdput "Compacting in progress. Please wait‚Ķ"lock screenset the lockMessages to truego whatStacksendIntercept ("compactMe")if the result is not empty then exit squeezedoMenu "compact stack"pop cdhide msgend squeezeon show whatif what‚â†"all" or the number of words of what‚â†1 then pass showif the short name of this stack is "Home" thenbeep 2answer "Show All can not be done in MegaHome‚Ñ¢ itself." with "Cancel"exit showend ifif the editBkgnd is falsethenrepeat with i=1 to the number of btnsshow btn iend repeatrepeat with i=1 to the number of cd fldsshow cd fld iend repeatelserepeat with i=1 to the number of bg btnsshow bg btn iend repeatrepeat with i=1 to the number of fldsshow field iend repeatend ifend show-- on quit-- answer "Quit HyperCard or Restart your Mac?" with "Shut Down" or "Restart" or "Quit"-- if it is "Shut Down" then shutDown-- if it is "Restart" then doRestart-- end quiton startupgetHomeInfopass startUpend startupon resumegetHomeInfopass resumeend resumeon suspenddoQuitend suspendon coordinatorget line 2 of fld "coords"set the cursor to crossput line 2 of fld "coords" into line 1 of fld "coords"repeat until the mouseClickif the shiftKey is "down" then next repeatput the mouseLoc into line 2 of fld "coords"end repeatput "Mouse:" into line 1 of fld "coords"if the cmdKey is not "down" then put it into line 2 of fld "coords"end coordinatoron handleError code,id,res,nocif id is empty then put "999" into idput getString(1128,id+1) into eset the numberFormat to "000"add 0 to id  --≈∏if code is empty thenparamText idget alert(3760)if it is 2 then quit else exit to HyperCardelseget "MegaHome‚Ñ¢ Internal Error."&returnput "Section="&char 1 of code&return after itput "Sub‚ÄìType="&char 2 of code&return after itput "ID="&id after itif e is not empty then put return&e&"." after itbeep 2if res is empty and noc is empty then answer it with "Quit" or "Cancel"if res is empty and noc is not empty then answer it with "Quit"if res is not empty and noc is not empty then answer it with "Quit" or "Resume"if res is not empty and noc is empty then answer it with "Quit" or "Resume" or "Cancel"if it is "Quit" then quitif it is "Resume" then exit handleErrorexit to HyperCardend ifend handleErroron getHomeInfo-- WAY IMPORTANT‚ÄîCHECK FOR SUPERDISK!if ".s:" is in the long name of this stack then handleError "V1",30,,x-- WATCH CURSORset the cursor to 4-- ALL THE GLOBALS WE NEEDglobal stacks,applications,documents,userName,mHomeVers,mHomeDateglobal mHomeRev,MHpref,code,CLNU,maxBtns,mHomeMod,MHmods,MHmodhandlerglobal MHmodInfo-- GO HOME TO DO THE FOLLOWING WITHOUT THE USER‚ÄôS SEEING IT‚Ķpush cdlock screenset the lockMessages to truego home-- FIRSTUSE PACKAGEif line 1 of cd fld "firstuse" is empty thenconvert the long date to secondsput it into cd fld "firstuse"end ifconvert the long date to secondsget it-line 1 of cd fld "firstuse"if cd fld "version" is not empty then get the number of chars of cd fld "version"*2if it‚â•18144000 then handleError "V3",59,,xif it‚â•604800 and line 2 of cd fld "firstuse" is empty thenput "x" into line 2 of cd fld "firstuse"handleError "V3",58,x,xend if-- RETRIEVE SETTINGS FROM ‚ÄúPrefs‚Äù CD FLDput 0 into codeget cd fld "Prefs"set the userLevel to line 1 of itset textArrows to line 2 of itset powerKeys to line 3 of itset blindTyping to line 4 of itset scriptTextFont to item 1 of line 5 of itset scriptTextSize to item 2 of line 5 of itput line 6 of it into userNameput it into MHprefdelete line 1 to 6 of MHpref-- SET UP SEARCH PATHSput fld "Paths" of cd "Stacks" into stacksput fld "Paths" of cd "Applications" into applicationsput fld "Paths" of cd "Documents" into documents-- SET UP VERSION INFO--‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢put "3.03" into mHomeVersput "Wednesday, January 1, 1992" into mHomeDateput "4,81" into mHomeRevput "0.0b2" into mHomeMod--‚Ä¢‚Ä¢‚Ä¢‚Ä¢‚Ä¢-- SET UP CLEANUP INFOput cd fld ".CLNU/standard" into CLNUdelete line 1 of CLNUput (the number of lines of CLNU)-2 into maxBtns-- SET UP MODULE MANAGER INFOput cd fld "instmods" into MHmodsput cd fld "modHandler" into MHmodHandlerput cd fld "modInfo" into MHmodInfo-- EVERYTHING WENT FINE, SO UPDATE ACCESSESadd 1 to line 2 of cd fld "axis"-- MENU ADDITIONSmakeMHMenus-- RESTORE MESSAGE BOX IF NECESSARYif line 2 of MHpref is true then msgCmd"restore"if line 2 of cd fld "axis" < 2 thenput "Welcome to MegaHome‚Ñ¢ II"&&mHomeVers&"!"answer "Do you celebrate Christmas?" with "No" or "Yes"put (it is "yes") into cd fld "Christian"end ifif line 2 of cd fld "axis" = 1000 thenput "Boy, have you been using MegaHome‚Ñ¢ II alot‚Äî1,000 times, to be exact!"end if-- CHRISTMASget (char 1 to 5 of the short date is "12/25")if not cd fld "Christian" then get falseset the visible of bg btn "Homme" to not itif it is true then put "Merry Christmas!!!"-- ‚àö‚àëif trunc(((item 1 of mHomeRev*item 2 of mHomeRev)/mHomeVers)+sqrt(item 2 of mHomeRev*3))‚â†cd fld "sigma" thenhandleError "V1",6,,xend if-- MODULE MANAGER MENUresumeStack-- GO BACK TO WHERE WE STARTEDset the lockMessages to falsepop cdunlock screenend getHomeInfoon makeMHmenusif there is no menuItem "Open Application‚Ķ" of menu "File"then put "Open Application‚Ķ" after menuItem 2 of menu "File"if there is no menuItem "MegaHome Help" of menu "Go"then put "MegaHome Help" after menuItem 3 of menu "Go"end makeMHMenuson help theTopicput "HyperCard Help" into theStackif ":" & theStack & return is in the stacks thenif the longWindowTitlesthen show window line (the number of lines of char 1 to offset(":" & theStack & return, the stacks) of the stacks) of the stackselse show window theStackelsegoto theStackend ifif the result is empty then findInTitle theTopicend helpon hyperTalk theTopicput "HyperTalk Reference" into theStackif ":" & theStack & return is in the stacks thenif the longWindowTitlesthen show window line (the number of lines of char 1 to offset(":" & theStack & return, the stacks) of the stacks) of the stackselse show window theStackelsegoto theStackend ifif the result is empty then findInTitle theTopicend hyperTalkon navpalette "Navigator"end navon cput the tool into saveToolchoose browse toolsetUserLevelFivedoMenu "Card Info..."restoreUserLevelchoose saveToolend con bput the tool into saveToolchoose browse toolsetUserLevelFivedoMenu "Bkgnd Info..."restoreUserLevelchoose saveToolend bon sput the tool into saveToolchoose browse toolsetUserLevelFivedoMenu "Stack Info..."restoreUserLevelchoose saveToolend son mwshow window "Message Watcher"end mwon vwshow window "Variable Watcher"end vwon seask "Set script editor font type to:" with the scriptTextFontif the result is "Cancel" or it is empty then exit seset scriptTextFont to itask "Set script editor font size to:" with the scriptTextSizeif the result is "Cancel" or it is empty then exit seset scriptTextSize to itend seon ss pattern,stackNamesearchScript pattern,stackNameend sson xyset cursor to crossrepeat until the mouseClickput the mouseLoc && "  horz:" & the mouseH && "  vert:" & the mouseVend repeatend xyon disallowInterruptionset cantAbort of this stack to trueend disallowInterruptionon allowInterruptionset cantAbort of this stack to falseend allowInterruptionon setUserLevelFiveglobal SvLvlput the userLevel into SvLvlset the userLevel to 5end setUserLevelFiveon browsingglobal SvLvlput the userLevel into SvLvlset the userLevel to 1end browsingon typingglobal SvLvlput the userLevel into SvLvlset the userLevel to 2end typingon paintingglobal SvLvlput the userLevel into SvLvlset the userLevel to 3end paintingon authoringglobal SvLvlput the userLevel into SvLvlset the userLevel to 4end authoringon scriptingsetUserLevelFiveend scriptingon restoreUserLevelglobal SvLvlif SvLvl is a number then set the userLevel to SvLvlend restoreUserLevelon searchScript pattern,stackNameglobal ScriptFindStringset lockRecent to truesetUserLevelFivepush cdif pattern is empty thenask "Search for what string?" with ScriptFindStringif (it is empty) or (the result is "Cancel") then exit searchScriptput it into patternend ifput pattern into ScriptFindStringset lockMessages to trueif stackName is not empty then goto stackNameset cursor to busyif the script of this stack contains patternthen edit script of this stackrepeat with curBkgnd = 1 to the number of bgsset cursor to busygo to cd 1 of bg curBkgndif the script of this bg contains patternthen edit script of bg curBkgndrepeat with curBgBtn = 1 to the number of bg btnsset cursor to busyif the script of bg btn curBgBtn contains patternthen edit script of bg btn curBgBtnend repeatrepeat with curBgField = 1 to the number of fldsset cursor to busyif the script of fld curBgField contains patternthen edit script of field curBgFieldend repeatend repeatrepeat with curCard = 1 to the number of cardsset cursor to busygo cd curCardif the script of this cd contains patternthen edit script of this cdrepeat with curCdBtn = 1 to the number of btnsset cursor to busyif the script of btn curCdBtn contains patternthen edit script of btn curCdBtnend repeatrepeat with curCdFld = 1 to the number of cd fldsset cursor to busyif the script of cd fld curCdFld contains patternthen edit script of cd fld curCdFldend repeatend repeatpop cdset lockMessages to falseset lockRecent to falserestoreUserLevelanswer "Search script done!"end searchScriptfunction lastHCItem delim,theTextif delim is in theText thenput lastHCItem(delim,char offset(delim,theText) + 1 to ¬¨length(theText) of theText) into theTextend ifreturn theTextend lastHCItemon mouseUp  -- CHECK FOR SCREENSAVER ‚ÄúHot Spot‚Äù CLICKif item 1 of the clickLoc<17 and item 2 of the clickLoc>the height of this cd-10--if item 1 of the clickLoc<17 and item 2 of the clickLoc>337then sleep (the shiftKey is "down")end mouseUpon doQuitlock screenpush cdgo homedoADeselectglobal MHprefif line 2 of MHpref is true then msgCmd "save"pop cdend doQuiton closeStack  -- AUTO COMPACTING HANDLERglobal MHprefif MHpref is empty thensuspendStackexit closeStackend ifget trueif (there is no menuItem "compact stack" of menu "File") or not (line 7 of MHpref) then get falseif (it) then put "Auto-compacting in progress. Please wait‚Ķ"if (it) and (the freesize of this stack>(the size of this stack)*(line 13 of MHpref/100)) thensendIntercept ("compactMe")doMenu "compact stack"end ifhide msgsuspendStackend closeStackon openStackresumeStackpass openStackend openStackfunction buttonName name  --THE LAST ITEM OF A SEARCH PATHreturn lastHCItem(":",name)end buttonNamefunction pathName name  --ALL THE ITEMS BUT THE LAST OF THE SEARCH PATHreturn char 1 to offset(buttonName(name),name)-1 of nameend pathNameon doACleanUp whichButtonglobal CLNU,maxBtnsset the cursor to 4doADeselectif whichButton is not empty and whichButton‚â†0 and whichButton‚â§maxBtns then  --SELECTEDset the rect of btn whichButton to line whichButton of CLNUelselock screenrepeat with i=1 to the number of btns  --ALLif i>maxBtns then exit repeatset the rect of button i to line i of CLNUend repeatset the rect of fld "coords" to line (maxBtns+1) of CLNUset the rect of fld "clock" to line (maxBtns+2) of CLNUshow fld "coords"show fld "clock"end ifend doACleanUpon bombbeep 2end bombon newCLNU  --MAKE YOUR OWN CLEANUP DATAglobal CLNU,maxBtnsbeep 2answer"Rebuild the cleanup data? (You can‚Äôt ‚Äúundo‚Äù)" with "OK" or "Cancel"if it is "Cancel" then exit newCLNUset the cursor to 4put the number of buttons&return into cd fld ".CLNU/standard" of cd 1repeat with i=1 to the number of btnsput the rect of btn i&return after cd fld ".CLNU/standard" of cd 1end repeatput the rect of field "coords"&return after cd fld ".CLNU/standard"¬¨of cd 1put the rect of field "clock"&return after cd fld ".CLNU/standard"¬¨of cd 1put cd fld ".CLNU/standard" of cd 1 into CLNUdelete line 1 of CLNUput (the number of lines of CLNU)-2 into maxBtnsend newCLNUon returnKey  --STORE THE LAST COMMAND TYPEDif msg is empty then pass returnKeymsgCmd"replace"pass returnKeyend returnKeyon tabKey  --RESTORE THE LAST COMMAND TYPEDif the shiftKey is up then pass tabKeymsgCmd"lastCmd"end tabKeyfunction militaryTime tput (offset(":",t)-1) into uget emptyif "PM" is in t thenget char 1 to u of tadd 12 to itelse get char 1 to u of tdelete char 1 to u of tif it=12 then get 0if it=24 then get 12return it&char 1 to offset(" ",t) of tend militaryTimeon msgCmd xif x is empty then exit msgCmdif x is "save" thenlock screenpush cdgo homeput the loc of the message box into line 1 of cd fld "mx"put the visible of the message box into line 2 of cd fld "mx"put the message box into line 3 of cd fld "mx"pop cdelse if x is "restore" thenlock screenshow the message box at (line 1 of cd fld "mx")put line 3 of cd fld "mx"set the visible of the message box to (line 2 of cd fld "mx")else if x is "clear" thenlock screenpush cdgo homeput "22,300" into line 1 of cd fld "mx"put false into line 2 of cd fld "mx"put empty into line 3 of cd fld "mx"pop cdshow msg at 22,300put emptyhide msgelse if x is "replace" thenglobal mHomeMsgput line 1 of mHomeMsg into line 2 of mHomeMsgput msg into line 1 of mHomeMsgelse if x is "lastCmd" thenglobal mHomeMsg,MHprefif line 9 of MHpref is false then exit msgCmdget msgput line 2 of mHomeMsgif it is not empty thenput line 1 of mHomeMsg into line 2 of mHomeMsgput it into line 1 of mHomeMsgend ifend ifend msgCmdon doADeselectif there is a menu "Manager" then shortMgrglobal MHselif MHsel is empty then exit doADeselectput selBtn() into wheresendIntercept deselectMe,where&&"of cd"&&item 2 of MHselset the hilite of (where) of cd item 2 of MHsel to falseput empty into MHselend doADeselecton sleep bossglobal puker,MHprefif line 8 of MHpref is 0 then exit sleepif line 8 of MHpref is 2 then put not boss into bosspush cdput boss into pukervisual dissolvego cd "ScreenSaver" of stack "home"end sleepon doMenu itum,mnuif mnu is "" thensend "doModule itum" to bg btn "Module Manager" of cd 1exit doMenuend ifif itum is "MegaHome Help" and mnu is "Go" then goto "MegaHome HELP"if itum is "Open Application‚Ķ" and mnu is "File"thenanswer file "Choose an application to open." of type "APPL"if it is not empty then open itelse exit doMenuend ifpass doMenuend doMenuon suspendStackif the short name of this stack is not "Home" then pass suspendStackglobal MHprefif line 15 of MHpref thenif there is a menu "" then delete menu ""end ifpass suspendStackend suspendStackon resumeStackif the short name of this stack is not "Home" then pass resumeStackglobal MHprefif line 15 of MHprefthen send "doModule " to bg btn "Module Manager" of cd 1pass resumeStackend resumeStackon dragTargetglobal MHprefif line 4 of MHpref is false then exit dragTargetget the ticksrepeat until the ticks-it‚â•(line 11 of MHpref*10)if the mouse is "up" then exit dragTargetend repeatsendIntercept dragMeset the cursor to crossrepeat until the mouse is "up"show the target at the mouseLocend repeatend dragTargeton goHomeCards-- NOT IMPLEMENTEDend goHomeCardson newLink theTypebeep  -- NOT IMPLEMENTEDend newLinkfunction checkHCFont theFont,pointSizesput empty into missingrepeat with count = 1 to the number of items in pointSizesput item count of pointSizes into theCurrentPtSizeif not FontExists(theFont,theCurrentPtSize)then put theCurrentPtSize into last item of missingend repeatif missing is not empty thenput theFont & space before missingput return after missingend ifreturn missingend checkHCFonton checkForMissingFonts-- NOT IMPLEMENTEDend checkForMissingFontson goto destinationif destination is empty then exit gotoif the optionKey is down thengo (destination)exit gotoend ifgo (destination) in a new windowif the result = "Cancel" then exit gotoelse if the result ‚↠empty then go (destination)end gotoon toggleDragglobal MHprefput not (line 4 of MHpref) into line 4 of MHprefsavePrefsend toggleDragon toggleCoordsglobal MHprefput not (line 3 of MHpref) into line 3 of MHprefsavePrefsend toggleCoordson savePrefsglobal MHprefput MHpref into line 7 to (6+the number of lines of MHpref) of cd fld "prefs" of cd 1end savePrefson reset whatif what‚â†"menuBar" then pass resetset the cursor to 4lock screensend "reset menuBar" to HyperCard --≈∏makeMHMenusend reseton sendIntercept intercept,whereif the commandKey is down and the shiftKey is down then exit sendInterceptif where is empty then put the name of the target into whereget "send"&&intercept&&"to"&&wheredo itend sendIntercepton modEvent eventglobal MHprefif line 16 of MHpref is true then exit modEventif event is empty or event is not a number then put 1 into eventget "mod"&getString (1135,event)do itend modEvent--≈∏ These null handlers _must_ ***NOT*** be removed! ≈∏--on openMeend openMeon dragMeend dragMeon renameMeend renameMeon finderRenameMeend finderRenameMeon placeMeend placeMeon iconMeend iconMeon removeMeend removeMeon selectMeend selectMeon deselectMeend deselectMeon compactMeend compactMe</script>
  17.     <background id="2757" file="background_2757.xml" name="Home" />
  18.     <background id="3338" file="background_3338.xml" name="Ft. Knox‚Ñ¢" />
  19.     <background id="6257" file="background_6257.xml" name="Paths" />
  20.     <background id="6480" file="background_6480.xml" name="applications" />
  21.     <background id="7859" file="background_7859.xml" name="Blackground" />
  22.     <background id="9788" file="background_9788.xml" name="Rx" />
  23.     <card id="2996" file="card_2996.xml" marked="false" name="Home" owner="2757" />
  24.     <card id="6656" file="card_6656.xml" marked="false" name="Stacks" owner="6257" />
  25.     <card id="7095" file="card_7095.xml" marked="false" name="Applications" owner="6257" />
  26.     <card id="7613" file="card_7613.xml" marked="false" name="Documents" owner="6257" />
  27.     <card id="8174" file="card_8174.xml" marked="false" name="ApplicationLauncher1" owner="6480" />
  28.     <card id="2439" file="card_2439.xml" marked="false" name="Ft. Knox‚Ñ¢ Open" owner="7859" />
  29.     <card id="3972" file="card_3972.xml" marked="false" name="Ft. Knox‚Ñ¢" owner="3338" />
  30.     <card id="5173" file="card_5173.xml" marked="false" name="" owner="7859" />
  31.     <card id="4257" file="card_4257.xml" marked="false" name="" owner="7859" />
  32.     <card id="10239" file="card_10239.xml" marked="false" name="Diagnostics" owner="9788" />
  33.     <card id="9458" file="card_9458.xml" marked="false" name="ScreenSaver" owner="7859" />
  34. </stack>
  35.